素材获取

视频处理

为了获取模型训练需要的素材,我们首先要获取相应原始视频并对原始视频进行处理

创建extract.ipynb文件用于可视化处理视频素材

使用Opencv库

首先通过以下代码导入并使用Opencv库

import cv2
import matplotlib.pyplot as plt

打开视频

通过以下代码打开视频截取一帧并进行可视化(以./video/2024-09-20 17-34-54.mkv为例):

# 打开视频文件
video = cv2.VideoCapture("./video/2024-09-20 17-34-54.mkv")
# 读取一帧
ret, frame = video.read()
# 展示
plt.imshow(frame)

其中的ret值为是否截取到帧(True/False),frame的内容为具体的一帧图像

转换颜色

你可能已经注意到了截取出来的帧的颜色存在问题,这是颜色为BGR导致的,通过以下代码修正可视化的颜色:

plt.imshow(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))

运行后可视化出的颜色应当正确

开始截取

用以下代码来截取静帧(以保存到./image/为例):

video = cv2.VideoCapture("./video/2024-09-20 17-34-54.mkv")
num = 0
step = 30
while True:
    ret, frame = video.read()
    if not ret:
        break
    num += 1
    if num % step == 0:
        cv2.imwrite("./image/" + str(num) + ".jpg", frame)

其中的step是每次截取静帧之间的间隔,命名规则请根据需要自行更改

图片标注

安装Labelimg

在环境中执行以下命令进行安装:

pip install labelimg

安装完成后运行以下命令来启动Labelimg

labelimg

至此可以开始使用Labelimg开始标注